<?php
namespace app\front\logic;
use think\facade\Db;

//用户来源操作
class MemberFromLogic{

	public static $init;
	static function init(){
		if (!isset(self::$init)) {//判断是否以前创建了当前类的实例
            $c = __CLASS__;//获取类名
            self::$init = new static;//如果没有创建，实例化当前类，这里实现类只实例化一次
        }
        return self::$init;//返回类的实例
	}


	//新增账号
	function bindMember($data=[]){
		if(!$data || !$data['member_id'] || !$data['invitation_code']){
			return false;
		}
		//获取被邀请人信息
		$info = Db::name('member')
					->alias('m')
					->field('m.id,m.grade_level,invitation_rate,from_invitation_rate')
					->join('member_grade mg','mg.level=m.grade_level and mg.status=1')
					->where('invitation_code', $data['invitation_code'])
					->find();
		if(!$info){
			return false;
		}

		//绑定来源日志
		$uD = [];
		$uD['origin_member_id'] = $info['id'];
		$uD['origin_level'] = $info['grade_level'];
		$uD['origin_rate'] = $info['invitation_rate'];
		$uD['member_id'] = $data['member_id'];
		$uD['member_rate'] = $info['from_invitation_rate'];
		$uD['create_time'] = date('Y-m-d H:i:s');
		$rs = Db::name('member_from')->insert($uD);
		if(!$rs){
			return false;
		}else{
			return true;
		}
	}

	function getFirstDistinct($member_id=0){
		if(!$member_id){
			return 0;
		}
		// echo $member_id;
		$info = Db::name('member_from')
				->field('member_rate,has_first_return,origin_member_id,origin_rate')
				->where('member_id', $member_id)
				->find();
		if(!$info || $info['has_first_return']==1){
			$info['member_rate'] = "0";
			$info['origin_member_id'] = 0;
			$info['origin_rate'] = "0";
			$info['has_first_return'] = "0";
		}

		return $info;
	}
}